A. Field of the Invention
The present invention relates to an apparatus and method for intelligently and accurately relocating applications, settings, menus, and data files from a source machine to a target machine.
B. Description of the Prior Art
For various reasons, computer users have found it necessary to move from one computer system to another. The most common reason for attempting such a move is the purchase of a new computer. Regardless of the reason for the move, the user is likely to want to bring a great deal of the information stored on the old computer to the new one. That information would include, at least, many of the documents created during the user's tenure on the old computer.
One method of moving documents from computer to computer involves saving the documents on a diskette at a source computer and physically moving the diskette to the target computer for saving thereon. Even if the user were to select only important documents for the move, the selected files might not fit on the diskette. This process, therefore, would become tedious if not impracticable for a user lacking sufficient experience in “disk-spanning.” Further, as the number of files to be moved increases so does the difficulty in completing the process.
A second method for relocating the files from a source to target computer utilizes a tape backup unit or other high capacity removable storage device in place of the diskette of the first example. The problem of large file size and some of the complexity of the move noted with respect to the first method is obviated through the use of such a storage device. This method, however, requires that both machines have compatible backup units installed.
A third method for relocating files involves the use of a file transfer program. Examples of such programs include pcAnywhere32, LapLink, and FastMove! For machines connected to a network, these programs can be used to electronically transfer files from one computer to another.
All three of these approaches may cope with the relatively simple problem of transferring data files from computer to computer, however, most users want not only to transfer selected data files, but also programs, settings and menus. It would be difficult if not impossible for the average user to transfer these types of files using any of the above methods.
As an example of the problems that would result from trying to use one of the above file transfer schemes to relocate these file types, were a user to attempt to transfer an application directory from a source computer to a target computer, the applications would not be found anywhere in the Windows Start Menu or on the desktop. As these are the locations from which a user would attempt to start the application, the data would exist on the computer but remain functionally unusable. Further, were the user to locate the application, there is little likelihood that it would run. This inability to function properly is due to the reliance of most applications on a number of shared system files called Dynamic Linked Libraries (dlls). While the transfer method may have relocated the application file from the one computer to another, any number of files necessary for the proper functioning of the program could have been left behind on the old computer.
Further, the customizations and settings that were added to each application over time by the user would also likely be left behind during the transfer. While this would not stop an application from running, the expense in time and effort in re-entering, for example, Internet and e-mail settings, re-registering a user's name, address, telephone number, product id/software key, etc., would again render the use of the above file transfer methods undesirable.
Another technique for relocating files from one computer to another involves the physical relocation of the hard disk drive from the source computer to the target computer. The older drive, however, is likely to possess a slower access time and diminished storage capacity relative to the drive of the newer computer. Further, the older computer may not have lost all usefulness, as it might be kept as a backup computer or transferred to another user.
A final prior art solution to the file relocation problem involves the use of programs that are designed to attempt to indiscriminately copy absolutely every file from the old system to the new one. Most of the conventional hard disk copying methods are unable to produce a copy of every file on the drive, as several critical files resist copying because they are in use. Further one or more of the files that are copied to the target system may leave that system in an unstable state. Examples of programs that copy/duplicate entire disk drives from one machine to another bit for bit include Drive Image Pro, DiskClone, DriveCopy and GHOST.
The hard drive duplication programs operate well, however, if and only if the machines are nearly identical. The indiscriminate copying that is utilized by the duplication programs will result in the duplicated operating system having already been configured to function with the hardware of the source computer. The programs of the target computer, therefore, will fail to recognize the hardware in the target machine. The user would then have to go through the laborious process of configuring the programs on the target computer to accept the new hardware. Worse, the differences between the computer programs may result in the halting of the target computer requiring re-installation on the target computer.
As noted above, the optimal use of disk duplication requires that the source and target computer be nearly identical. The most likely reason for the user to move from one computer to another, however, is that the user has decided to upgrade to a newer/faster machine. Specifically, the older computer may have been inadequate to support the new hardware features that became available following its purchase, such as a universal serial bus (USB), digital video disk (DVD), etc. Further, the newer system may have come equipped with newer versions of programs such as an upgraded operating system. By indiscriminately copying all of the programs on the source computer to the target computer, the user would in effect be rendering useless much that he or she would like to have kept on the target machine.